<?php session_start();
$host = $_SERVER['HTTP_HOST'];
if ($_SERVER['SERVER_NAME'] == 'localhost'){$uri="/kalender";}else{$uri="";}
if (!isset($_SESSION['id_user']) || $_SESSION['id_user']=='') {
	echo "<script language=Javascript> location.href='http://$host$uri/index.php'; </script>";	
}else{
		
	if (!is_object($bd)){	
		//me conecto a la base de datos
		require("../globals/Db.class.php");
		require("../globals/Conf.class.php");
		$bd=Db::getInstance();	
	}
	if (!is_object($util)){	
		include("../globals/Util.class.php");		
		$util=Util::getInstance();
	}
	
	
	
	if (!($util->administrarTiempoSesion())){
		echo "<script language=Javascript> location.href='http://$host$uri/timeout.php'; </script>";
	}else if (!($util->administrarAcceso("facturacion"))){
		echo "<script language=Javascript> location.href='http://$host$uri/sinAcceso.php'; </script>";
	}else{	
		$idOT = $_POST['idOT'];
		$idDoc = $_POST['idDoc'];
		$idCli = $_POST['idCli'];
		
		$puedoFacturar = $util->getPermisoParaFacturarDoc($bd, $idDoc);
		
		if($puedoFacturar==true){
			try {
				$bd->beginTransaction();
					//si la OT no esta creada, la creo.
					if($idOT=='empty'){
						$query = "insert into ordenes_trabajo (estado, id_cliente, fecha_creacion) values ('A', $idCli, now());";
						$result = $bd->eje($query);
						if ($result) {
							echo("query 1 ok");
							$idOT = $bd->lastID();
						}else{
							echo("query 1 mal");
						}
						
						//guardo el log por auditoria
						$id_user = $_SESSION['id_user'];
						$query = "INSERT INTO logs (usuario_id, accion, fecha) values ($id_user, 'Se ha creado la Orden de Trabajo Nro: $idOT', now());";
						$result = $bd->eje($query);
						if ($result) { echo("q2 ok");}
						
					}
					$query = "select valor from valores_servicios where codigo = (select tipo from archivos where id = $idDoc)";
					$result = $bd->eje($query);
					$row = $bd->fila($result,0);
					
					if ($result) { echo("q3 ok");}
					
					$query = "insert into doc_ot_relation (id_doc, id_ot, valor) values ($idDoc, $idOT, ".$row["valor"].");";
					echo($query);
					$result = $bd->eje($query);
					
					if ($result) { echo("q4 ok");}
					
					$query = "update archivos set facturado=1 where id=$idDoc;";
					$result = $bd->eje($query);
					if ($result) { echo("q5 ok");}
				$bd->commit();
				echo "msg:ok##$idOT";
			} catch (Exception $e) {	   
		    	$bd->rollback();
				echo "msg:nok";
			}
		}
				
	}
}
?>